package com.hy.until;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.List;

/**
 * 分页结果封装
 */
@Data
@AllArgsConstructor
public class PageResult<T> {
    private long current;    // 当前页
    private long size;      // 每页大小
    private long total;     // 总记录数
    private List<T> records; // 数据列表

    // 构造方法
    public PageResult(List<T> records, long total) {
        this.records = records;
        this.total = total;
    }

    // 从MyBatis-Plus的Page对象创建
    public static <T> PageResult<T> build(Page<T> page) {
        return new PageResult<>(page.getCurrent(), page.getSize(),
                page.getTotal(), page.getRecords());
    }
}
